1. Field of the Invention
The present invention generally relates to a learning method of an adaptive filter, and an adaptive filter provided with that learning method. More specifically, the present invention relates to a learning method of an adaptive filter with a predictive updating scheme for acoustic echo cancellation, and to an adaptive filter provided with that learning method.
2. Description of the Related Art
Multi-path echoes of an operating environment result in uncomfortableness to the far-end user in hands-free communications. For example, while a person using a cellular phone without holding it in hand, the receiver (or microphone) receives sounds generated from the loudspeaker and conducted/reflected by the environment. Finally, such sound will transmit to the far-end user and, after a period of time, the far-end user hears the sound previously spoken by the user. Such a phenomenon is called the acoustic echo effect. The effect should be reduced or eliminated by an apparatus, e.g., an acoustic echo canceller.
The most popular way to cancel the acoustic echo effect is to set up an acoustic echo canceller between two signal lines, as shown in FIG. 1. FIG. 1 is the diagram illustrating the acoustic echo effect and the installation of an acoustic echo canceller 24 in the art. The input signals x(t) generated from a far-end input signal source 10 are sent to a loudspeaker 14 via a first signal line 12 for generating sound. The sound is reflected or conducted by the environment 16 and enters the microphone 18 to generate real output signals d(t), that is, an acoustic echo. The real output signals d(t) are sent to the loudspeaker 22 of the far-end user via a second signal line 20, creating the acoustic echo effect. The acoustic echo canceller 24 is installed between the first and the second signal lines (12 and 20, respectively) to learn the room response of the environment 16. The acoustic echo canceller 24 generates estimated signals y(t) according to the input signals x(t) at the first signal line 12 and sends the estimated signals y(t) to the second signal line 20 for canceling the real output signals d(t). Error signals e(t) are defined as the error between the real output signals d(t) and the estimated signals y(t). If the real output signals d(t) and the estimated signals y(t) are very close, then the error signals e (t) that the far-end user hears are small, thus the acoustic echo effect is eliminated. However, the environment 16 is time variant, the acoustic echo canceller 24 needs to automatically trace the changes of the environment. As shown in FIG. 1, the acoustic echo canceller 24 updates its own signal response according to the error signals e(t). Such an acoustic echo canceller 24 with a self-learning function is called an adaptive filter. In particular, an adaptive filter with finite impulse response (FIR) is called an adaptive FIR filter.
FIG. 2 is a functional diagram of an adaptive FIR filter according to the prior art. For illustrative purpose, the operation of the system according to FIG. 2 is a digital system where the continuous time variable t is substituted with a discrete time variable k. x(k) 30 represents the input signals, while H represents the impulse response of the environment. Since the environment is not predictable, the environment is defined as an unknown system 40. Hk, the estimated result of H, represents the impulse response of the adaptive FIR filter 34 at the time of k. y(k) 32 represents the estimated output signals generated by the adaptive FIR filter 34, and d(k) 38 represents the real output signals generated by the unknown system 40. For the adaptive FIR filter 34, at least 3 steps are needed to update Hk per iteration, as follows:
Step 1: generating the estimated output signals y(k)                               y          ⁡                      (            k            )                          =                                            H              k              T                        ⁢            conv            ⁢                          xe2x80x83                        ⁢                          X              ⁡                              (                k                )                                              ≡                                    ∑                              l                =                0                                            L                -                1                                      ⁢                          xe2x80x83                        ⁢                                          h                ⁡                                  (                  k                  )                                            *                              x                ⁡                                  (                                      k                    -                    l                                    )                                                                                        (        1        )            
X(k)xe2x89xa1[x(kxe2x88x92L+1), . . . , x(kxe2x88x921), x(k)]T
Hkxe2x89xa1[hk(0), hk(1), . . . , hk(Lxe2x88x921)]T
Wherein the superscribed xe2x80x9cTxe2x80x9d denotes the transport operation, and L denotes the length of the adaptive FIR filter.
Step 2: calculating the error signals e(k) 36
e(k)xe2x89xa1d(k)xe2x88x92y(k)xe2x80x83xe2x80x83(2)
and;
Step 3: updating the coefficients of Hk
Hk+1="PHgr"[Hk]xe2x80x83xe2x80x83(3)
Wherein, "PHgr"[.] denotes the updating algorithm.
If the normalized least-mean-square (NLMS) algorithm is applied, for example, then
Hk+1=Hk+xcexc/|X|2*e(k)*X(k)xe2x80x83xe2x80x83(3a)
Wherein xcexc denotes a fixed step size for updating. From the Eq.(1), Eq(2) and Eq.(3), (2L+1) operations of multiplication and 2L operations of addition are needed for learning per iteration for the adaptive FIR filter 34 with such an NLMS algorithm. However, only one time of learning and one updating the coefficients of Hk is achieved after the adaptive FIR filter receives one of the input signals x(k) when such an NLMS algorithm is used. Thus, it is well-known that the efficiency, or more particularly, the convergence rate of such an NLMS algorithm is very slow when the input signals are color.
In addition to the learning method using the NLMS algorithm as mentioned above, the prior art provides a multiple learning method performing multiple updating using the input signals x(k) received. For the purpose of multiple updating, the input signals x(k) 30 and the real output signal d(k) 38 must be stored. Given that M times of revisions are desired, the stored input signal x(k) 30 can be represented as
X(k), X(kxe2x88x921), X(kxe2x88x922), . . . , X(kxe2x88x92M+1).
The stored real output signal d(k) 38 can be represented as:
d(k),d(kxe2x88x921),d(kxe2x88x922), . . . , d(kxe2x88x92M+1).
Thus the algorithm of the multiple learning method becomes:
For m=1 to M
Update Hk using X(kxe2x88x92m+1) and d(kxe2x88x92m+1)
End
The adaptive FIR filter 34 experiences M revisions after receiving each of the input signals x(k) 30. These additional revisions can significantly speed up the convergence rate of the NLMS algorithm. However, M revisions require M*(2L+1) operations of multiplication and 2*M*L operations of addition. Such an algorithm leads to an huge number of calculations and results in a complex system.
Therefor, there is a general need for an adaptive filter and a learning method thereof that overcome the aforementioned problems in the art. In particular, an adaptive filter and learning method thereof are needed to improve the adaptation of the adaptive filter with a relatively low number of operations, and to achieve an optimized convergence rate.
The present invention provides a learning method for canceling real output signals generated by input signals and an environment signal response. The adaptive filter receives the input signals from an input signal source and generates estimated output signals according to an filter coefficients and the input signals. The first step of the learning method according to the present invention is storing the input signals and the real output signals within a past time period. Then a predictive input signal is generated according to the input signals to predict one of the input signals at the next sampling duration. A predictive output signal is also generated according to the real output signals to predict one of the real output signals at the next sampling duration. Finally, using the predictive input signal, the predictive output signal, the input signals and the output signals as data, the filter coefficients is updated, causing the estimated signals to approximate the real output signals.
The present invention also provides an adaptive filter for canceling real output signals generated by input signals and an environment signal response. The adaptive filter receives the input signals from an input signal source to generate estimated signals. The adaptive filter comprises a filter, a plurality of memories, a first predictor, a second predictor and a controller. The filter generates the estimated signals according to an filter coefficients and the input signals. The memories store the input signals and the real output signals within a past time period. The first predictor generates a predictive input signal according to the input signals in the memories. The second predictor generates a predictive output signal according to the real output signals in the memories. The controller updates the filter coefficients according to the predictive input signal, the predictive output signal, the input signals and the output signals, causing the estimated signals to approximate the real output signals.
An efficient way to obtain the predictive input signal and the predictive output signal is also provided in the present invention. The random property of input signals is reduced, using an accumulated generating operation, an exponential operation, a polynomial fitting, a simplified logarithmic operation and an inverse-accumulated operation.